const ffmpeg = require('fluent-ffmpeg')
const ffmpegPath = require('@ffmpeg-installer/ffmpeg')
const ffprobePath = require('@ffprobe-installer/ffprobe')
const path = require('path')
const fs = require('fs')

// 定义视频文件路径
ffmpeg.setFfmpegPath(ffmpegPath.path)
ffmpeg.setFfprobePath(ffprobePath.path)

// 转换视频格式
ffmpeg(path.join(__dirname, './video/1.mp4'))
  .videoCodec('libx264') // 设置视频解码器
  .format('hls') // 输出视频格式
  .outputOptions('-hls_list_size 0') // -hls_list_size n:设置播放列表保存的最多条目，设置为0会保存有所片信息，默认值为5
  .outputOption('-hls_time 10') // -hls_time n: 设置每片的长度，默认值为2。单位为秒
  .output(path.join(__dirname, 'aa.m3u8')) // 输出文件
  .on('progress', (progress) => { // 监听切片进度
    console.log('Processing: ' + progress.percent + '% done')
  }).on('end', () => { // 监听结束
    console.log("视频切片完成")
  })
  .run(); // 执行